处理 CONNECT 请求

在处理 HTTPS 流量期间,应用 阻止重定向 操作的结果与将这些操作应用于 HTTP 流量的结果不同。用户将不会看到阻止页面,不会被重定向到指定的 URL。相反,连接被终止。

这样做的原因是,为了建立加密的 HTTPS 连接,用户的计算机请求从代理服务器连接到 Web 服务器使用包含 CONNECT 方法的 HTTP 消息(以下简称“CONNECT 请求”)。代理服务器处理 CONNECT 请求并回复这些请求的能力在 HTTP 协议级别上是有限的。代理服务器可以通知用户连接成功,也可以终止连接。

为了正确应用 阻止重定向, 您需要启用 TLS/SSL 连接的解密将 CONNECT 方法添加到排除项中,或为其创建旁路规则。如果没有允许 CONNECT 请求的流量处理规则,连接将被终止。

允许 CONNECT 请求可能会降低公司 IT 基础架构的安全性。建议仅在显示阻止页面或重定向对其关键的流量处理规则中将 CONNECT 方法添加到排除项。

本文还介绍了使用标准 HTTP 消息传输的 HTTP 流量处理与使用 CONNECT 请求建立加密连接时 HTTP 流量处理之间的特性和差异。

处理标准 HTTP 消息

大部分 HTTP 方法(例如,GET, POST, DELETE, HEAD, OPTIONS, PATCH, PUT 和TRACE)是用来在客户端(用户计算机)和存储所请求 web 资源的 web 服务器之间交换消息。Kaspersky Web Traffic Security 可以扫描此类 HTTP 消息和将所有可用操作应用到这些消息。下图说明了 Kaspersky Web Traffic Security 中的 HTTP 消息处理原则。

kwts_http_traffic

HTTP 消息处理原则

图中的数字对应于标准 HTTP 消息处理的以下阶段:

  1. 用户请求访问网络资源。该请求将被中继给代理服务器。
  2. 应用程序检查请求的 web 资源是否满足访问规则的条件。
  3. 如果访问规则的应用程序导致 阻止 操作,则用户将看到阻止页面。如果应用 重定向 操作,则用户将重定向到指定的 URL。
  4. 如果访问规则的应用程序导致 允许 操作,则应用程序将继续使用保护规则或默认保护策略扫描流量。如果未检测到任何威胁,则用户请求将重定向到 web 服务器。
  5. 保护模块还会扫描从 web 服务器接收到的响应,以查找病毒或其他威胁。当检测到威胁时,应用程序会阻止流量。如果未检测到任何威胁,应用程序会将响应从 web 服务器中继到用户计算机。
  6. 在未经授权的访问尝试期间,入侵者可能会拦截数据,因为流量以未加密的形式进行传输。

处理连接请求的详情

当尝试通过 HTTPS 协议访问 web 资源时,用户计算机会向代理服务器发送 CONNECT 请求,请求连接到 web 服务器。由于加密设置和安全证书的交换,在用户计算机和 web 服务器之间通过 TLS 协议建立了隧道安全连接。在隧道内,客户端和 web 服务器使用标准 HTTP 方法(GET, POST 等)交换消息。默认情况下,代理服务器不能分析加密连接的内容或干预隧道内的消息交换。下图说明了处理默认加密连接的机制。

kwts_https_without_bumping

默认加密连接的处理机制

图中的数字对应于默认加密连接处理的以下阶段:

  1. 用户计算机向代理服务器发送 CONNECT 请求,请求使用 web 服务器进行加密的数据通道。
  2. 应用程序检查请求的 web 资源是否满足访问规则的条件。
  3. 如果规则的应用导致 阻止重定向 操作,则连接将终止。用户将不会看到阻止页面,不会被重定向到指定的 URL。
  4. 如果访问规则的应用导致 允许 操作,则应用程序将发送一个 CONNECT 请求,供保护模块进一步处理。
  5. 在保护模块成功扫描 CONNECT 请求后,代理服务器在用户计算机和 web 服务器之间建立加密的数据通道。
  6. 用户的计算机与加密数据通道内的 web 服务器交换标准 HTTP 消息。代理服务器无法访问此类邮件,并且保护模块会对其进行扫描,因为传输的数据是加密的。
  7. 来自 web 服务器的响应也会直接中继到用户计算机,而不会被保护模块固定。这降低了企业 IT 基础架构的保护级别,因为用户计算机可以接收包含威胁的流量。
  8. 在未经授权的访问尝试期间,入侵者无法拦截数据,因为流量是在加密通道内传输的。

要使应用程序能够使用保护模块扫描在加密数据通道内传输的流量,您需要配置 TLS/SSL 连接的解密。下图说明了通过启用 TLS/SSL 连接解密来处理加密连接的机制。

kwts_https_with_bumping

启用 TLS/SSL 连接解密处理加密连接的机制

图中的数字对应于启用 TLS/SSL 连接解密的加密连接处理的以下阶段:

  1. 用户计算机向代理服务器发送 CONNECT 请求,请求使用 web 服务器进行加密的数据通道。
  2. 应用程序检查请求的 web 资源是否满足访问规则的条件。
  3. 如果访问规则的应用程序导致 阻止重定向 操作,则连接将终止。用户将不会看到阻止页面,不会被重定向到指定的 URL。
  4. 如果访问规则的应用导致 允许 操作,则应用程序将发送一个 CONNECT 请求,供保护模块进一步处理。
  5. 保护模块成功扫描 CONNECT 请求后,则在用户的计算机和代理服务器之间以及代理服务器和 Web 服务器之间将被建立加密的数据通道。
  6. 用户计算机与加密数据通道内的 web 服务器交换标准 HTTP 请求。应用程序被授予对正在传输的所有数据的访问权限,并可以对其应用保护规则。
  7. 应用程序检查请求的 web 资源是否满足访问规则的条件。
  8. 如果访问规则的应用程序导致 阻止 操作,则用户将看到阻止页面。如果应用 重定向 操作,则用户将重定向到指定的 URL。
  9. 如果访问规则的应用程序导致 允许 操作,则应用程序将继续使用保护规则或默认保护策略扫描流量。如果未检测到任何威胁,则用户请求将重定向到 web 服务器。
  10. 保护模块还会扫描从 web 服务器接收到的响应,以查找病毒或其他威胁。当检测到威胁时,应用程序会阻止流量。如果未检测到任何威胁,应用程序将通过加密数据通道将响应从 web 服务器中继到用户计算机。
  11. 在未经授权的访问尝试期间,入侵者无法拦截数据,因为流量是在加密的数据通道内传输的。

本部分内容:

配置流量处理规则中的排除项

创建一个旁路规则

页面顶端